Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Porto Challenger U.S. Open - New York Danderyd Challenger Oeiras 2 Challenger Tenerife 2 Challenger Perugia Challenger Lima 2 Challenger Tenerife 1 Challenger Trieste Challenger Modena Challenger U.S. Open - New York Genova Challenger Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 Italy F3 Costa Rica F1 Colombia F2 Italy F2 Canada F1 Canada F2 Canada F3 Italy F5 Usa F7 Italy F6 Usa F8 Italy F7 Italy F9 Czech Rep. F2 Czech Rep. F3 Spain F18 Italy F12 Italy F13 Usa F14 Italy F17 Usa F15 Usa F18 Serbia F5 Serbia F7 Italy F25 Great Britain F12 Great Britain F13 Germany F19 Germany F18 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Argentina F5 Argentina F6 Brazil F9 Usa F13 Argentina F9 Usa F15 Argentina F11 Argentina F12 Argentina F13 Argentina F14 Argentina F15 Argentina F16 Argentina F17 Brazil F22 Argentina F20 Argentina F21 Argentina F22 Brazil F31 Brazil F32 Chile F5 Brazil F33 Chile F6 Chile F7 Chile F8 Chile F9 Brazil F1 Colombia F1 El Salvador F1 Colombia F2 Panama F1 USA F7 Chile F1 Chile F2 Argentina F2 Argentina F3 Italy F12 Italy F18 Italy F19 Brazil F26 Brazil F33 Argentina F21 Argentina F22 Argentina F23 Argentina F24 Chile F10 Chile 11 Italy F11 Italy F12 Italy F18 Italy F19 Italy F22 Argentina F17 Argentina F18 Bolivia F1 Egypt F2 Egypt F3 Chile F8 Italy F3 Egypt F8 Egypt F9 Egypt F10 Italy F8 Italy F9 Italy F10 Chile F9 Spain F32 Argentina F26 Argentina F27 Italy F20 Italy F23 Italy F24 Tunisia F4 Tunisia F5 Italy F10 Egypt F4 Italy F9 Egypt F4 Italy F10 Italy F11 Italy F12 Italy F17 Germany F8 Italy F23 Italy F29 Italy F28 Italy F29 Italy F31 Italy F33 Morocco F4 Morocco F5 Italy F17 Portugal F1 Italy F22 Serbia F4 Serbia F5 Italy F27 Italy F28 Italy F29 Italy F30 Italy F32 Italy F33 Italy F34 Italy F35 Italy F36 Spain F2 (Manacor) Spain F3 (Paguera) Spain F4 (Paguera) Tunisia F7 (Hammamet) Tunisia F8 (Hammamet) Tunisia F10 (Hammamet) Tunisia F3 Italy F29 Italy F21 Spain F9 (Madrid) M25 Porto M25 Faro M25 Palmanova Vancouver Challenger M25 Vale Do Lobo Mexico F1 M25 Figueira da Foz Lexington Challenger Sao Paulo Challenger Santiago Challenger Recife Challenger Milan Challenger M15 Sintra San Benedetto Challenger M25 Villena M25 Vale do Lobo Caltanissetta Challenger Porto Alegre Challenger Montevideo Challenger Itajai Challenger Recanati Challenger San Marino Challenger Porto Alegre Challenger Buenos Aires Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Mestre Challenger Marburg Challenger Braunschweig Challenger San Benedetto Challenger Campinas Challenger Kenitra Challenger Brescia Challenger Bucaramanga Challenger M15 Sintra Sarasota Challenger Corrientes Challenger Lima Challenger Guayaquil Challenger M25 Vale do Lobo Jonkoping Challenger Mestre Challenger Milan Challenger Andria Challenger Barletta Challenger Ostrava Challenger Caltanissetta Challenger Scheveningen Challenger Biella Challenger Como Challenger Guayaquil Challenger Mouilleron-Le-Captif Challenger Montevideo Challenger Brescia Challenger Santiago Challenger Le Gosier Challenger Marbella Challenger Braga Challenger Genova Challenger Biella Challenger Montevideo Challenger Chennai Challenger Bangkok Challenger Yokohama Challenger Lille Challenger Barletta Challenger Sarasota Challenger Tunis Challenger Francavilla Challenger Ostrava Challenger Aix En Provence Challenger Braga Challenger Heilbronn Challenger Shymkent Challenger Parma Challenger Ludwigshafen Challenger Nur-Sultan Challenger Sopot Challenger Bendigo Challenger Bengalaru Challenger Prostejov Challenger Lisbon Challenger Maia Challenger M25 Palmanova Oeiras 1 Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Forli Challenger Milan Challenger Porto Challenger Poznan Challenger Cordenons Challenger San Marino Challenger Verona Challenger Szczecin Challenger Bucharest Challenger Sibiu Challenger Napoli Challenger Bratislava Challenger Maia 1 Challenger Maia 2 Challenger Forli 5 Challenger Roseto Degli Abruzzi 2 Challenger Oeiras 1 Challenger Oeiras 2 Challenger Braunschweig Challenger Lisbon Challenger St. Tropez Challenger Rio De Janeiro Challenger Vilnus Challenger Las Vegas Challenger Ortisei Challenger Helsinki Challenger Tenerife 3 Challenger Monterrey Challenger Rovereto Challenger Girona Challenger Barletta Challenger Prague 2 Challenger Vicenza Challenger Milan Challenger Braunschweig Challenger Amersfoort Challenger Zug Challenger Luedenscheid Challenger Mallorca Challenger Sibiu Challenger Lisbon Challenger Buenos Aires Challenger Santa Fe 2 Challenger Bergamo Challenger Helsinki Challenger Lima 2 Challenger Montevideo Challenger Nonthaburi 1 Challenger Oeiras 1 Challenger Como Challenger Girona Challenger Monza Challenger Oeiras 4 Challenger Estoril Challenger Prostejov Challenger Pozoblanco Challenger Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Pilot Pen Tennis - New Haven Estoril Open - Estoril Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Estoril Open - Estoril Brasil Open - Sao Paulo VTR Open - Vina del Mar Copa Claro - Buenos Aires Portugal Open - Oeiras U.S. National Indoor Tennis Championships - Memphis Brasil Open - Sao Paulo Bet-at-home Open - Hamburg Swiss Indoors Basel - Basel Apia International - Sydney US Men's Clay Court Championship - Houston BB&T Atlanta Open - Atlanta Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Brasil Open - Sao Paulo Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag St. Petersburg Open - St. Petersburg If Stockholm Open - Stockholm Argentina Open - Buenos Aires Millennium Estoril Open - Estoril Open Parc - Lyon Generali Open - Kitzbuhel Qatar ExxonMobil Open - Doha Ecuador Open - Quito New York Open - New York Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Plava Laguna Croatia Open - Umag DIEMA XTRA Sofia Open - Sofia Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Intrum Stockholm Open - Stockholm Erste Bank Open - Vienna Tata Open Maharashtra - Pune Open 13 Provence - Marseille Astana Open - Nur-Sultan Antalya Open - Antalya Great Ocean Road Open - Melbourne Open 13 Provence - Marseille Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem Emilia-Romagna Open - Parma Sydney Tennis Classic - Sydney Tata Open Maharashtra - Pune Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Hamburg European Open - Hamburg Sofia Open - Sofia Gonet Geneva Open - Geneva M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio M25 Quinta do Lago M25 Vale do Lobo M25 Reus M25 Mataro M25 Porto Nielsen USTA Pro Tennis Championship - Winnetka Roma Open Challenger - Rome Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Oldum Brown Vancouver Open - Vancouver Sacramento Challenger - Sacramento Ford Tennis Championships - Louisville Salinas Challenger Brasilia Challenger Belo Horizonte Challenger Asuncion Challenger Santiago Challenger Campinas Challenger Belo Horizonte Challenger Sao Paulo Challenger Florianopolis Challenger Le Gosier Challenger Blumenau Challenger Santos Challenger Tampere Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Sao Paulo Challenger Bogota Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Vicenza Challenger Furth Challenger Indore Challenger Irving Challenger Mestre Challenger Rio De Janeiro Challenger Napoli Challenger Barletta Challenger Sony Ericsson Open - Miami Turin Challenger San Benedetto Challenger Lima Challenger Floridablanca Challenger Santo Domingo Challenger Francavilla Challenger Bordeaux Challenger Milan Challenger Rome Challenger Sibiu Challenger Rome Challenger Campinas Challenger Lima Challenger Santiago Challenger Andria Challenger Sony Ericsson Open - Miami Barletta Challenger Tunis Challenger Como Challenger Francavilla Challenger Florence Challenger BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Guayaquil Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Vicenza Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Braunschweig Challenger BNP Paribas Open - Indian Wells Cherbourg Challenger Bangkok Challenger St. Brieuc Challenger Western & Southern Open - Cincinnati Todi Challenger Vancouver Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Braunschweig Challenger Tampere Challenger Santo Domingo Challenger Brest Challenger Lima Challenger Mouilleron-Le-Captif Challenger Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Columbus Challenger Rogers Cup - Toronto Internazionali BNL d'Italia - Rome Western & Southern Open - New York Rolex Paris Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Como Challenger Genova Challenger Orleans Challenger Campinas Challenger Mouilleron-Le-Captif Challenger Naples Challenger - Naples Bratislava Challenger Ortisei Challenger 2007 Knoxville Challenger - Knoxville Levene Gouldin & Thompson Tennis Challenger - Binghamton Semgroup Challenger - Tulsa Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger GHI Bronx Tennis Classic - Bronx Tunis Challenger Amersfoort Challenger Campos do Jordao Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Le Gosier Challenger Prague Challenger Bordeaux Challenger Turin Challenger Campos do Jordao Challenger Recife Challenger Montevideo Challenger Bucaramanga Challenger Dallas Challenger Sao Paulo Challenger Bordeaux Challenger Forli 4 Challenger Arad Challenger Zadar Challenger Rio De Janeiro Challenger Sao Leopoldo Challenger Pereira Challenger Braunschweig Challenger San Benedetto Challenger Madrid Challenger Campinas Challenger Sao Jose Do Rio Preto Challenger San Juan Challenger Montevideo Challenger Guayaquil Challenger Andria Challenger Bratislava Challenger Vercelli Challenger Montevideo Challenger Aix En Provence Challenger Campinas Challenger Andria Challenger Milan Challenger Todi Challenger Aix En Provence Challenger Nonthaburi 3 Challenger Tampere Challenger San Marino Challenger Genova Challenger Manama Challenger Meknes Challenger Puerto Vallarta Challenger Antalya Challenger Las Franquesas del Valles Challenger Charlottesville Challenger Bancolombia Open - Bogota Knoxville Challenger Abierto Internacional de Salinas 'Dario Expreso' - Salinas Bordeaux Challenger Andria Challenger Happy Valley Challenger Dallas Challenger Le Gosier Challenger Savannah Challenger Perugia Challenger Montechiarugolo Challenger Aix En Provence Challenger Rome Challenger Caltanissetta Challenger Belem Challenger Aptos Challenger Como Challenger Meknes Challenger Sao Paulo Challenger Buenos Aires Challenger Montevideo Challenger Bangkok Challenger Bucaramanga Challenger Kazan Challenger Bordeaux Challenger Vicenza Challenger Braunschweig Challenger Braga Challenger Bratislava 2 Challenger St. Remy Challenger Guayaquil Challenger San Juan Challenger Lisbon Challenger Lima Challenger Perugia Challenger San Benedetto Challenger Como Challenger Seville Challenger Braga Challenger Nonthaburi 3 Challenger Parma Challenger Campinas Challenger Sao Leopoldo Challenger Alicante Challenger Koblenz Challenger Perugia Challenger Ilkley Challenger ATP Challenger Tour Finals Manama Challenger Sao Paulo Challenger Blois Challenger Sao Jose Do Rio Preto Challenger Campinas Challenger Tenerife 3 Challenger Barcelona Challenger Ismaning Challenger Bucaramanga Challenger Lugano Challenger Sao Leopoldo Challenger Buenos Aires Challenger Orlando Challenger Newport Beach Challenger Padova Challenger Playford Challenger Buenos Aires Challenger Murcia Challenger Panama City Challenger Zadar Challenger Naples Challenger Girona Challenger Lisbon Challenger Guayaquil Challenger Barletta Challenger Braunschweig Challenger Madrid Challenger Buenos Aires Challenger Split Challenger Oeiras 3 Challenger Rome Challenger Barranquilla Challenger Buenos Aires Challenger Santo Domingo Challenger San Benedetto Challenger Braunschweig Challenger Ann Arbor Challenger Francavilla Challenger Oeiras 4 Challenger Salinas Challenger Tunis Challenger Prostejov Challenger Zagreb Challenger Lyon Challenger Sassuolo Challenger Tampere Challenger Poznan Challenger Milan Challenger Brasov Challenger Modena Challenger Trieste Challenger Amersfoort Challenger Salinas Challenger Blois Challenger Rennes Challenger Verona Challenger Bendigo Challenger Porto Challenger Bengalaru 1 Challenger Cherbourg Challenger Luedenscheid Challenger Bonn Challenger Kosice Challenger Todi Challenger III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Forli 6 Challenger Perugia Challenger Montechiarugolo - Parma Challenger Genova Challenger Roseto Degli Abruzzi 1 Challenger Seville Challenger Amersfoort Challenger Cordenons Challenger Genova Challenger San Remo Tennis Cup - San Remo Santo Domingo Challenger Sibiu Challenger Lisbon Challenger Canberra Challenger Nonthaburi 2 Challenger Tenerife 2 Challenger Braga Challenger Waco Challenger Rome Challenger Split Challenger Cagliari Challenger Francavilla Challenger Valencia Challenger Roanne Challenger Olbia Challenger Campinas Challenger Curitiba Challenger Guayaquil Challenger Montevideo Challenger Lyon Challenger French Open - Paris Rovereto Challenger Wimbledon - London Salvador Challenger Campinas Challenger Oeiras 1 Challenger Oeiras 2 Challenger U.S. Open - New York Oeiras 3 Challenger French Open - Paris Santiago Challenger National Bank Men's Rimouski Challenger - Rimouski Wimbledon - London U.S. Open - New York JSM Challenger of Champaign - Urbana Porto Alegre Challenger Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Buenos Aires Challenger Wimbledon - London Rome Challenger U.S. Open - New York Australian Open - Melbourne Pune Challenger Francavilla Challenger French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Oeiras 5 Challenger Tunis Challenger Wimbledon - London Skopje Challenger U.S. Open - New York Vicenza Challenger Australian Open - Melbourne French Open - Paris Perugia Challenger U.S. Open - New York Sassuolo Challenger Champaign Challenger Wimbledon - London U.S. Open - New York Milan Challenger Timisoara Challenger Australian Open - Melbourne Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Bunschoten Challenger Wimbledon - London Bordeaux Challenger Porto Challenger Liberec Challenger Cordenons Challenger Todi Challenger Como Challenger Brescia Challenger Biella Challenger Sao Paulo Challenger Brest Challenger Porto Alegre Challenger Prostejov Challenger Shenzhen Open - Shenzhen Nonthaburi 1 Challenger Rakuten Japan Open - Tokyo Brasil Open - Sao Paulo Bet-at-home Open - Hamburg European Open - Antwerp Open de Nice Cote d'Azur - Nice Rome Challenger Argentina Open - Buenos Aires Rio Open - Rio de Janeiro VTR Open - Vina del Mar Brasil Open - Sao Paulo Estoril Open - Estoril Millennium Estoril Open - Estoril Marburg Challenger Brasil Open - Sao Paulo Delray Beach International Tennis Championships - Delray Beach Delray Beach Open - Delray Beach Portugal Open - Oeiras Mercedes Cup - Stuttgart Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Estoril Open - Estoril Abierto Mexicano Telcel - Acapulco Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Winston-Salem Open - Winston-Salem Aircel Chennai Open - Chennai Apia International - Sydney Rio Open - Rio de Janeiro Plava Laguna Croatia Open - Umag Copa Claro - Buenos Aires Abierto Mexicano - Los Cabos Swiss Open - Gstaad St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Forte Village Sardegna Open - Sardinia Mallorca Championships - Mallorca Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Millennium Estoril Open - Estoril Serbia Open - Belgrade Davis Cup, Group I, 1R, POR-AUT 1-4 Gonet Geneva Open - Geneva cinch Championships - London Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Generali Open - Kitzbuhel Modena Challenger Melbourne Summer Set - Melbourne Davis Cup, Group I, 2R, SWE-POR 3-2 Roseto Degli Abruzzi Challenger Sardegna Open - Cagliari ATP Cup - Brisbane, Perth, Sydney Davis Cup, Group I, 1R, ROU-POR 3-1 U.S. Open - New York Miami Open - Miami French Open - Paris Wimbledon - London French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris Davis Cup, Group 2, 2R, POR-TUN 4-1 French Open - Paris Australian Open - Melbourne Davis Cup, World Group, QR, ITA-KOR 4-0 Wimbledon - London Davis Cup, Group I, PO, POR-POL 4-0 Wimbledon (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) Davis Cup, Group 1, 1R, GEO-POR 3-2 U.S. Open (juniors) Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 All Lower level tournaments Olympics - Rio de Janeiro Genova Challenger Seville Challenger M25 Quinta Do Lago Vicenza Challenger Porto 2 Challenger Lisbon Challenger